/*
* Author: Chris Seguin
*
* This software has been developed under the copyleft
* rules of the GNU General Public License. Please
* consult the GNU General Public License for more
* details about use and distribution of this software.
*/
package org.acm.seguin.uml;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
/**
* Create a mouse listener for a method or a field or a title
*
*@author Chris Seguin
*@created July 7, 1999
*/
public class PopupMenuListener extends MouseAdapter implements ActionListener {
// Instance Variables
private JPopupMenu menu;
private JMenuItem menuItem;
/**
* Constructor for the PopupMenuListener object
*
*@param initMenu Description of Parameter
*@param initItem Description of Parameter
*/
public PopupMenuListener(JPopupMenu initMenu, JMenuItem initItem) {
menu = initMenu;
menuItem = initItem;
}
/**
* A menu item has been selected
*
*@param evt Description of Parameter
*/
public void actionPerformed(ActionEvent evt) {
if (menuItem == null) {
return;
}
if (menuItem instanceof JMenu) {
// Do nothing
}
else {
menu.setVisible(false);
}
}
/**
* A menu item has been selected
*
*@param mevt mouse event
*/
public void mouseEntered(MouseEvent mevt) {
menuItem.setSelected(true);
}
/**
* A menu item has been selected
*
*@param mevt mouse event
*/
public void mouseExited(MouseEvent mevt) {
menuItem.setSelected(false);
}
}